1. Technical Field
The present invention provides a method of extending an I/O bus to support additional adapter cards. The method of extension is by the use of a driver/receiver (DRV/RECV) module and direction control logic that determines the location of the master driving the bus signals and this information is then used to determine which way the DR/RECV (driver/receiver) module should drive the bus signals.
2. Description of Related Art
I/O buses such as the PCI bus use a bridge chip to extend the bus to support additional card connectors. The bridge chip receives the address from the bus containing the master and determines (by a set of address range registers) if it needs to provide the appropriate response signal sequences. Typically, this includes buffering the address, command, and data (in most cases) in the bridge chip prior to redriving the bus signaling sequence onto the other PCI bus.
Using additional bridge chips is one method of extending the PCI bus to include added slot capacity but it is also an expensive method of extending the bus.
Typical computer systems include a system board which includes a microprocessor and other application specific integrated circuits (ASIC), such as memory controllers, input/output (I/O) controllers, and the like, electrically connected to one another by wiring layers. Also, most computers include slots for additional adapter cards which can connect the chips on the adapter cards to the microprocessor and/or other chips on the system board, in order to provide additional function to the computer system. Typical functions that a user might add to a computer include additional memory, fax/modem capability, sound cards, graphics accelerator cards, math coprocessors, or the like. The slots included on the system board generally include in line electrical connectors having electrically conductive lands which receive exposed tabs on the adapter cards. The I/Os of the chips on the cards are connected to the tabs. The connector is then electrically connected to the microprocessor, or the like through the previously mentioned wiring layers.
In conventional computer systems, a user must power off the system and first remove the cover from the entire computer system before the additional card(s) can be accessed. This is true whether an existing card is being removed and/or a new card is being added to the computer. Often, it is a time consuming operation to remove and replace the cover of the computer system. Several metal screws must be removed and then reinstalled, and the cover frequently requires very precise alignment before it seats on the computer frame. Also, the actual installation of the card into the adapter slot can be a painstaking and time consuming operation, since the user is required to precisely align the card and slot, without the aid of any type of alignment device, and exert sufficient (but not too much) pressure for electrical contact to be made, without damaging the card or connector.
Therefore, it can be seen that a need exists for a computer system which would allow a user to change the hardware configuration of a computer by removing a feature card from and/or installing a feature card into a computer system without the need of removing the actual cover from the computer system, and powering down the entire system, or taking the computer off line. Additionally, a system would be advantageous that would assist the user in aligning the card and connector to ensure proper electrical connection and avoid damage to either component.
Also, cross referenced application, Ser. No. 08/552,186, now U.S. Pat. No. 5,694,470, provides an approach for extending a secondary I/O bus through modifications to the I/O architecture and the use of additional modified bus to bus bridges. This referenced applications does not address the problems inherent with modifying the bridge chips and the bus architecture, i.e. complexity associated with buffering the control signals. Thus, it can be seen that a need exists for a technique of providing an efficient method of providing additional I/O bus slots without the use of bus to bus bridges. Further, using off the shelf components to expand the I/O bus would be advantageous in developing computer systems that meet the price/performance requirements of the market place.